//MotoristaTableModel.java
//Modelo da tabela motorista
package visao;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import modelo.Motorista;

/**
 * @author Diego Heusser
 * @author Eder Schramm
 */
public class MotoristaTableModel extends AbstractTableModel {

    private List<Motorista> linhas;
    private final String[] colunas = new String[]{"ID", "Nome", "Habilitação", "Gênero", "Data Nascimento"};

    public MotoristaTableModel(List<Motorista> linhas) {
        if (linhas == null) {
            linhas = new ArrayList<>();
        }
        this.linhas = linhas;
    }

    @Override
    public boolean isCellEditable(int i, int i1) {
        return false;
    }

    @Override
    public String getColumnName(int i) {
        return colunas[i];
    }

    @Override
    public int getRowCount() {
        return linhas.size();
    }

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public Object getValueAt(int linha, int coluna) {
        if (linhas.size() > 0) {
            switch (coluna) {
                case 0:
                    return linhas.get(linha).getId();
                case 1:
                    return linhas.get(linha).getNome();
                case 2:
                    return linhas.get(linha).getHabilitacao();
                case 3:
                    return linhas.get(linha).getGenero();
                default:
                    return linhas.get(linha).getDataNascimento();
            }
        } else {
            return null;
        }
    }

}
